home *** CD-ROM | disk | FTP | other *** search
-
- Gleichung
- =========
-
-
- Rechtliches
- -----------
-
- Gleichung ist ShareWare, d.h. wer es regelmäßig benutzt, der muß eine
- Gebühr an den Autor entrichten. Dafür schlage ich DM 20,- vor, wer mehr
- zahlen will darf das gerne tun.... (Adresse am Ende dieser Anleitung).
-
-
- !!!!!
- Ich übernehme keine Haftung für Schäden, die aus der sach- oder unsach-
- gemäßen Benutzung des Programms entstehen !!!!
- !!!!!
-
-
- Dieses Programm darf (und soll) in Mailboxen und sonstige elektronische
- Netze eingespielt werden. Das Programm darf (und soll) in PD-Disk-Serien
- aufgenommen werden, solange der Verkaufspreis je Diskette DM 5,--
- (oder einen äquivalenten Betrag einer anderen Währung) nicht übersteigt.
- Dieses Programm darf (und soll) auf CD's mit PD-Software aufgenommen
- werden, solange der Preis je CD DM 60,- (oder einen äquivalenten Betrag
- einer anderen Währung) nicht übersteigt.
- Falls jemand dieses Programm auf Disketten/CD's zu einem höheren Preis
- vertreiben will, so ist dafür meine schriftliche Erlaubnis erforderlich.
-
-
- Einleitung
- ==========
-
- Aufgabe
- -------
- GLEICHUNG ist ein Programm zum Lösen linearer Gleichungssysteme. Im
- Gegensatz zu ähnlichen Programmen ist GLEICHUNG nicht auf Systeme mit
- drei Gleichungen und drei Unbekannten beschränkt, auch muß das System
- nicht quadratisch oder eindeutig lösbar sein. GLEICHUNG bearbeitet
- Systeme, deren Größe (fast) nur vom Speicher abhängt (in dieser Version
- ist die Eingabe auf maximal 9999 Gleichungen mit 9999 Unbekannten beschränkt.
- Theoretisch sind bis zu ca. 32000 Gleichungen mit 32000 Unbekannten möglich.
- Bei solchen Dimensionen verliert man aber leicht den Überblick).
-
- Rechneranforderungen
- --------------------
- GLEICHUNG benötigt einen Amiga mit Kickstart/Workbench 2.0. Das
- Programm sollte mit 512kB laufen, benötigt für größere Gleichungssysteme
- aber deutlich mehr Speicher. In LIBS: muß sich die ASL.LIBRARY befinden.
-
-
- Das Programm
- ============
-
- Starten des Programms
- ---------------------
- Das Programm wird einfach durch einen Doppelclick auf sein Icon gestartet.
- Ein Start von der Shell ist zwar möglich, aber nicht empfehlenswert,
- da auf diese Art keine weiteren Informationen an das Programm übertragen
- werden können.
- Das Programm meldet sich sofort nach dem Starten mit einem Fenster, in
- dem die Anzahl der Gleichungen und die Anzahl der Variablen abgefragt wird.
- Hier gibt man die gewünschten Werte wie gewohnt ein. Wird im oberen Stringgadget
- die RETURN-Taste gedrückt, so wird automatisch das zweite Gadget aktiviert.
- Wird in diesem die RETURN-Taste gedrückt, so ist das gleichbedeutend mit
- der Anwahl von OK.
-
- Aufbau des Bildschirms
- ----------------------
- Im oberen Teil des Bildschirms befindet sich ein Text- und ein Stringgadget.
- Das Textgadget zeigt an, was gerade auf dem Bildschirm dargestellt wird (Lösung
- des Gleichungssystems, Zeilenstufenform oder Eingabe). Wenn das Stringgadget
- eingeschaltet ist, kann hier ein Zahlenwert eingegeben werden.
-
- Darunter befindet sich die Fläche, auf der die Werte dargestellt werden.
- Unten und rechts sind zwei Rollbalken mit Pfeilen, mit denen durch
- größere Systeme gefahren werden kann. Links wird die Nummer der Zeile
- angezeigt, oben die Nummer der Spalte oder B für den rechten Teil
- der Gleichung.
-
- Ein Feld auf der Fläche ist invers hervorgehoben. Dieses Feld kann mit der
- Maus und den Cursortasten (auch Shift-Cursor) bewegt werden. Das Ankli"cken
- eines Feldes mit der Maus funktioniert natürlich auch. Wenn man sich
- im Eingabemodus befindet, dann wird der Wert, der unter dem Kasten steht
- auch noch im Eingabegadget oben rechts dargestellt. Wird dann die
- RETURN-Taste gedrückt, so wird das Eingabegadget aktiviert und man kann
- den Zahlenwert verändern. Wird statt der RETURN-Taste eine Zifferntaste,
- Plus, Minus oder der Punkt gedrückt, so wird der angezeigte Wert im Eingabegadget
- gelöscht und das gewählte Zeichen als ersten angezeigt. Wird bei aktivierten
- Eingabegadget RETURN gedrückt, so wird der veränderte Wert übernommen und
- das inverse Feld springt um eins weiter nach rechts (oder in die nächste Zeile,
- falls es schon ganz rechts ist).
- Befindet man sich nicht im Eingabemodus, so kann man die angezeigten
- Werte nicht verändern.
-
- Anzeigenmodi
- ------------
- Das Programm merkt sich das eingegebene Gleichungssystem und kann es jederzeit
- wieder darstellen. Außerdem ist es möglich, das Gleichungssystem in
- Zeilenstufenform darzustellen. Schließlich kann man sich noch die
- Lösung anzeigen lassen. Beim Anzeigen der Lösung wird in der obersten
- Zeile (gekennzeichnet als Lsg) eine spezielle Lösung des Gleichungssystems
- dargestellt, die weiteren Zeilen geben eine Basis des Lösungsraums für
- das homogene System wieder.
-
- Der Darstellungsmodus kann mit dem zweiten Menu gewählt werden. Der jeweils
- aktive Modus wird markiert und zusätzlich im Textgadget dargestellt. Sollte
- das System nicht lösbar sein, so wird dies gemeldet und in den Modus
- Zeilenstufenform umgeschaltet.
-
- Sollte beim Berechnen der Lösung ein Rechenfehler aufgetreten sein (meistens,
- weil die Zahlen zu groß/klein geworden sind), so wird dies ebenfalls
- angezeigt und in den Eingabemodus geschaltet.
-
-
- Die Menus
- ---------
- Projekt
- -------
- Neue Gleichungen
- ----------------
- Hier erscheint das gleiche Fenster wie direkt nach dem Start und fragt
- nach der neuen Dimension des neuen Gleichungssystems. Mit CANCEL kann
- man das alte System noch einmal zurück bekommen.
-
- Anzeigenformat
- --------------
- Zum Anzeigen der Werte stehen einem drei Modi zur Verfügung:
-
- [Normal : ] Die Zahlen werden in normaler Darstellung ausgegeben. Dabei
- werden immer alle Vorkommastellen und die gewünschte Anzahl Nachkommastellen
- ausgegeben. Nur für Zahl geeignet, deren Absolutwert etwa zwischen
- 0.001 und 9999 liegt.
- [Exponential : ] Alle Zahlen werden in Exponentialdarstellung
- ausgegeben. Die Anzahl der Nachkommastellen entspricht dem gewünschten Wert.
- Für kleine Zahlen (>1) ist diese Darstellung unpraktisch.
- [Gemischt : ] Kleine Zahlen werden normal dargestellt, große (bzw.
- Zahlen zwischen 0 und 1 mit vielen Nullen nach dem Komma) in Exponentialdarstellung.
- Die gewünschte Anzahl Nachkommastellen gibt nicht nur die tatsächliche
- Anzahl der Nachkommastellen an (es wird immer eine Stelle weniger angezeigt
- als ausgewählt wurde), sondern bestimmt auch, wann eine
- Zahl in Exponentialdarstellung dargestellt wird oder nicht.
-
- Diese drei Modi kann man in dem erscheinenden Fenster mit dem Cyclegadget
- einstellen. Weiterhin kann in diesem Fenster eingegeben werden, wieviele
- Stellen insgesamt dargestellt werden sollen (bestimmt die Breite jedes
- Feldes auf dem Bildschirm) und wieviele davon als Nachkommastellen. Die
- Anzahl Nachkommastellen kann nicht größer werden als die Gesamtzahl.
- Sollte durch besonders große Zahlen der Bildschirmaufbau zerstört werden
- (passiert leicht im Modus Normal) kann jederzeit dieses Fenster aufgerufen
- werden um z.B. die Gesamtzahl neu einzugeben. Das eingegebene Gleichungssyste
- geht dadurch NICHT verloren.
-
- Gleichungen laden/speichern
- ---------------------------
- Es erscheint der Standart-Filerequester um nach dem Namen des Files
- zu fragen. Wird ein Name angegeben, so wird dieses System geladen bzw. das
- aktuelle System unter dem Namen abgespeichert. Wird CANCEL angewählt, so
- passiert nichts.
-
- Iconify
- -------
- Der Bildschirm des Programms wird geschlossen und auf der Workbench erscheint
- das Icon des Programms. Durch einen Doppelclick auf das Icon wird der
- Bildschirm wieder geöffnet und das alte Gleichungssystem wird wieder
- angezeigt (Man landet immer im Eingabemodus).
- Dieses Iconify funktioniert nur, wenn das Programm von der
- Workbench aus gestartet wurde, da sonst die Information über das Icon
- nicht vorhanden ist.
-
- Drucken
- -------
- Mit diesem Menupunkt ist es möglich, das Gleichungssystem (jeweils in der
- aktuell auf dem Bildschirm dargestellten Form, als Originalsystem, Zeilenstufenform
- oder Lösung) auszudru"cken. Dazu erschein zuerst ein Fenster, in dem die
- Anzahl Zeilen und Spalten abgefragt wird, die auf eine Seite des
- Druckers passen. Danach erscheint das unter {Anzeigen}) beschriebene
- Fenster, so daß man die (nur für den Ausdruck gültige) Art der Darstellung
- jeder Zahl wählen kann. Schließlich erscheint noch eine Sicherheitsabfrage,
- ob auch wirklich gedruckt werden soll. Sollte die Breite oder Höhe
- des Blattes zu gering sein (so daß weniger als eine komplette Zahl auf das
- Blatt paßt), so wird natürlich nicht ausgedruckt.
-
- Um größere Gleichungssysteme in übersichtlicher Form auszudrucken, empfiehlt
- es sich, die Schriftart des Druckers so klein wie möglich einzustellen.
- Auch sollte die Anzahl der Spalten (die man im ersten Fenster eingibt) nicht
- größer sein als (Right Margin - Left Margin) in Prefs/Printer (es wird
- über Preferences ausgedruckt, dabei werden die Werte von Preferences nicht
- verändert. Der Anwender ist selbst dafür verantwortlich, daß der Drucker
- auch so viele Zeichen je Zeile/Zeilen je Blatt darstellen kann, wie
- angegeben).
-
- About
- -----
- Es erscheint ein Fenster mit Informationen über das Programm und den Autor.
- Durch Anwahlt von OK oder durch einen Tastendruck verschwindet das Fenster
- wieder.
-
- Ende
- ----
- Nach einer Sicherheitsabfrage wird das Programm evt. beendet.
-
-
- Zeige
- -----
- Die Items dieses Menus wurden bereits weiter oben erklärt.
-
- Preferences
- -----------
- Hier kann der gewünschte Bildschirmmodus (ScreenMode) gewählt werden.
- Dies funktioniert nur bei Workbench 2.1 oder höher (es wird der
- Screenmoderequester der asl.library benutzt).
-
- Abspeichern
- -----------
- Der gewählte Bildschirmmodus wird im Icon abgespeichert.
-
-
- Optionen beim Start
- -------------------
- Über den Workbench-Menupunkt Information können dem Programm
- weitere Befehle erteilt werden. Das Programm kennt die folgenden
- Schlüsselworte:
-
- [WIDTH : ] Hier kann die Breite des zu öffnenden Screens angegeben werden,
- z.B. WIDTH=640. Dies ist auch der Defaultwert.
- [HEIGHT : ] Hier wird entsprechend die Höhe angegeben. Default 256.
- [VIEW : ] Hier kann der gewünschte Darstellungsmodus angegeben werden.
- Dazu können sinnvolle Werte aus der Tabelle {VIEWS} addiert werden.
- Außerdem sollte man die passenden Chips haben, wenn man ECS-Modi wählt.
- So erhält man mit VIEW=32804 einen Superhires-Screen im Interlacemodus. Die
- Werte für Höhe und Breite sollte man dann entsprechend setzen.
- Bei Verwendung von Workbench 2.1 oder höher sollte der entsprechende
- Menupunkt benutzt werden.
-
- Wird eine größere Breite angegeben als im gewählten Darstellungsmodus
- dargestellt werden kann, so kann der geöffnete Screen horizontal mit der Maus
- verschoben werden (so wie man Ihn sonst vertikal verschiebt). Wenn
- auf der Workbench Text-Overscann eingeschaltet ist, dann kann das
- Programm seinen Screen auch mit dieser maximalen Größe darstellen.
- Interessant sind auch die NTSC-Modi, da man hier eine höhere Bildwiederholfrequenz
- erhält.
-
- {Einige Werte für ViewModes}
- NTSC_MONITOR_ID 69632
- PAL_MONITOR_ID 135168
- HIRES_KEY 32768
- SUPER_KEY 32800
- INTERLACE 4
- VGAPRODUCT_KEY 233508
- VGAPRODUCTLACE_KEY 233509
-
- Die Angabe eines zu ladenen Gleichungssystems kann beim Start von der
- Workbench auch über die erweiterte Auswahl (Anklicken mit der Maus,
- SHIFT-Doppelklick auf das Programmicon) oder durch Doppelclick auf eine
- Datei geschehen, die als Default-Tool dieses Programm gesetzt hat
- (evt. mit Pfad). Wird mehr als eine Datei übergeben, so wird nur eine
- dieser Dateien bearbeitet, alle anderen werden ignoriert.
-
- Speicherbedarf
- --------------
- Bei einem Gleichungssystem mit m-1 Variablen und n Gleichungen werden
- alleine für die eingegebenen Werte etwa m*n*8 Bytes gebraucht. Für
- die Verwaltung dieser Werte werden nochmals n*4 Bytes benötigt. Die
- gleiche Speichermenge wird nochmals gebraucht, um das System in Zeilenstufenform
- im Speicher zu halten. Zum Merken der Lösung werden nochmals (m-1)*m*8
- Bytes benötigt. Vor allem dieser Speicher kann mit Systemen mit großer
- Variablenzahl sehr schnell zu Speicherplatzproblemen führen.
- Dieser Speicher muß aber nicht zusammenhängend zur Verfügung
- stehen. Das Programm braucht so viel Speicher, um die Werte bei größeren
- Systemen schnell genug zur Verfügung zu stellen (man stelle sich ein
- System mit 100 Gleichungen und 100 Variablen vor, bei dem bei jeder
- Scrollaktion beim Anzeigen der Lösung diese komplett neu berechnet wird...).
- Normalgroße Systeme sollten aber auf jedem Amiga laufen.
-
-
- Meine Anschrift:
- ----------------
-
- Wer Vorschläge, Fehlermeldungen oder Geld loswerden will, hier ist meine
- Adresse:
-
- Rüdiger Dreier
- Gustav-Winkler-Str. 40
- 33699 Bielefeld
-
-
- Bis auf weiteres bin ich auch per EMail erreichbar:
-
- ruediger.dreier@dave.hrz.uni-bielefeld.de
-
-
-
-
-